#!/bin/bash
# -*- coding: utf-8 -*-
#Filename:dir_backup.sh
#Author:SuJunQuan
#Email:sujunquan@qq.com
#Date:2016-11-22
#Desc: 增量备分系统关键目录到/data/dir_backup下，将备份的目录打成tar.gz压缩文件，前三天内的文件。以备误删除恢复,每天零晨12开始备份

#设置时间和备份目录变量
DATE=`date +%F`
backup_dir=/data/dir_backup

#将要备份的目录添加到DIRS变量中，以数组的形式赋给DIRS变量
DIRS=(/etc /home/nodeadmin /home/codisan /var/lib/mongo /usr/local/mysql/var /usr/local/nginx/conf /home/wwwroot)

#遍历数组中的每一个目录，然后用rsync增量备份
for d in ${DIRS[*]}
do
    if [ -d $d ];then
    	dir=`ls -d $d | awk -F'/' '{print $NF}'` 
		rsync -arHz --delete $d ${backup_dir}/$dir.bak
    fi
done

#进入备份目录
cd $backup_dir
#过滤出备份路径里的目录文件赋值给tar_dir
tar_dir=`ls -l |grep ^d |awk '{print $NF}'`
#遍历目录压缩备份
for tar in ${tar_dir[*]}
do
	tar zcf ${tar}-${DATE}.tar.gz $tar
done
#删除目录中三天前的文件
find ./ -maxdepth 1 -type f -mtime +3 -exec rm -rf {} \;
